package com.weiyuwqj.api.model;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "sys_config_ticket_rule")
public class SysConfigTicketRule implements Serializable {
    @Id
    private Integer id;

    /**
     * 触发规则名称
     */
    private String name;

    /**
     * 触发规则标示
     */
    private String nid;

    /**
     * 发放总数量
     */
    @Column(name = "total_count")
    private Integer totalCount;

    /**
     * 状态:0.未审核 1.审核未激活 2.激活 3.停用 4.过期
     */
    private Integer status;

    /**
     * 最低限额
     */
    @Column(name = "minimum_amount")
    private BigDecimal minimumAmount;

    /**
     * 自动投标锁定期限(以天为单位)
     */
    @Column(name = "lock_life")
    private Integer lockLife;

    /**
     * 触发规则生效时间
     */
    @Column(name = "begin_time")
    private Date beginTime;

    /**
     * 触发规则失效时间
     */
    @Column(name = "end_time")
    private Date endTime;

    /**
     * 是否短信通知(1.是 0.否)
     */
    @Column(name = "whether_sms")
    private Integer whetherSms;

    /**
     * 是否站内信通知(1.是 0.否)
     */
    @Column(name = "whether_mail")
    private Integer whetherMail;

    /**
     * 是否app推送通知(1.是 0.否)
     */
    @Column(name = "whether_app_push")
    private Integer whetherAppPush;

    /**
     * 开放用户类型(0.所有用户 1.指定用户)
     */
    @Column(name = "users_type")
    private Integer usersType;

    /**
     * 创建者的id
     */
    @Column(name = "sys_user_id")
    private Integer sysUserId;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;


    /**
     * 限领类型
     */
    private Integer limitType;

    /**
     * 限领次数
     */
    private Integer totalLimit;

    /**
     * 卡劵类型
     */
    private Integer ticketType;

    /**
     * 添加时间
     */
    private Date addtime;

    /**
     * 添加ip
     */
    private String addip;

    /**
     * 短信通知内容
     */
    private String noticeContent;

    //兑换码
    private String redeemCode;

    //跳转页面
    private String jumpPage;

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取触发规则名称
     *
     * @return name - 触发规则名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置触发规则名称
     *
     * @param name 触发规则名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取触发规则标示
     *
     * @return nid - 触发规则标示
     */
    public String getNid() {
        return nid;
    }

    /**
     * 设置触发规则标示
     *
     * @param nid 触发规则标示
     */
    public void setNid(String nid) {
        this.nid = nid;
    }

    /**
     * 获取发放总数量
     *
     * @return total_count - 发放总数量
     */
    public Integer getTotalCount() {
        return totalCount;
    }

    /**
     * 设置发放总数量
     *
     * @param totalCount 发放总数量
     */
    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    /**
     * 获取状态:0.未审核 1.审核未激活 2.激活 3.停用 4.过期
     *
     * @return status - 状态:0.未审核 1.审核未激活 2.激活 3.停用 4.过期
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态:0.未审核 1.审核未激活 2.激活 3.停用 4.过期
     *
     * @param status 状态:0.未审核 1.审核未激活 2.激活 3.停用 4.过期
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取最低限额
     *
     * @return minimum_amount - 最低限额
     */
    public BigDecimal getMinimumAmount() {
        return minimumAmount;
    }

    /**
     * 设置最低限额
     *
     * @param minimumAmount 最低限额
     */
    public void setMinimumAmount(BigDecimal minimumAmount) {
        this.minimumAmount = minimumAmount;
    }

    /**
     * 获取自动投标锁定期限(以天为单位)
     *
     * @return lock_life - 自动投标锁定期限(以天为单位)
     */
    public Integer getLockLife() {
        return lockLife;
    }

    /**
     * 设置自动投标锁定期限(以天为单位)
     *
     * @param lockLife 自动投标锁定期限(以天为单位)
     */
    public void setLockLife(Integer lockLife) {
        this.lockLife = lockLife;
    }

    /**
     * 获取触发规则生效时间
     *
     * @return begin_time - 触发规则生效时间
     */
    public Date getBeginTime() {
        return beginTime;
    }

    /**
     * 设置触发规则生效时间
     *
     * @param beginTime 触发规则生效时间
     */
    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    /**
     * 获取触发规则失效时间
     *
     * @return end_time - 触发规则失效时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置触发规则失效时间
     *
     * @param endTime 触发规则失效时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取是否短信通知(1.是 0.否)
     *
     * @return whether_sms - 是否短信通知(1.是 0.否)
     */
    public Integer getWhetherSms() {
        return whetherSms;
    }

    /**
     * 设置是否短信通知(1.是 0.否)
     *
     * @param whetherSms 是否短信通知(1.是 0.否)
     */
    public void setWhetherSms(Integer whetherSms) {
        this.whetherSms = whetherSms;
    }

    /**
     * 获取是否站内信通知(1.是 0.否)
     *
     * @return whether_mail - 是否站内信通知(1.是 0.否)
     */
    public Integer getWhetherMail() {
        return whetherMail;
    }

    /**
     * 设置是否站内信通知(1.是 0.否)
     *
     * @param whetherMail 是否站内信通知(1.是 0.否)
     */
    public void setWhetherMail(Integer whetherMail) {
        this.whetherMail = whetherMail;
    }

    /**
     * 获取是否app推送通知(1.是 0.否)
     *
     * @return whether_app_push - 是否app推送通知(1.是 0.否)
     */
    public Integer getWhetherAppPush() {
        return whetherAppPush;
    }

    /**
     * 设置是否app推送通知(1.是 0.否)
     *
     * @param whetherAppPush 是否app推送通知(1.是 0.否)
     */
    public void setWhetherAppPush(Integer whetherAppPush) {
        this.whetherAppPush = whetherAppPush;
    }

    /**
     * 获取开放用户类型(0.所有用户 1.指定用户)
     *
     * @return users_type - 开放用户类型(0.所有用户 1.指定用户)
     */
    public Integer getUsersType() {
        return usersType;
    }

    /**
     * 设置开放用户类型(0.所有用户 1.指定用户)
     *
     * @param usersType 开放用户类型(0.所有用户 1.指定用户)
     */
    public void setUsersType(Integer usersType) {
        this.usersType = usersType;
    }

    /**
     * 获取创建者的id
     *
     * @return sys_user_id - 创建者的id
     */
    public Integer getSysUserId() {
        return sysUserId;
    }

    /**
     * 设置创建者的id
     *
     * @param sysUserId 创建者的id
     */
    public void setSysUserId(Integer sysUserId) {
        this.sysUserId = sysUserId;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取添加时间
     *
     * @return addtime - 添加时间
     */
    public Date getAddtime() {
        return addtime;
    }

    /**
     * 设置添加时间
     *
     * @param addtime 添加时间
     */
    public void setAddtime(Date addtime) {
        this.addtime = addtime;
    }

    /**
     * 获取添加ip
     *
     * @return addip - 添加ip
     */
    public String getAddip() {
        return addip;
    }

    /**
     * 设置添加ip
     *
     * @param addip 添加ip
     */
    public void setAddip(String addip) {
        this.addip = addip;
    }

    public Integer getLimitType() {
        return limitType;
    }

    public void setLimitType(Integer limitType) {
        this.limitType = limitType;
    }

    public Integer getTotalLimit() {
        return totalLimit;
    }

    public void setTotalLimit(Integer totalLimit) {
        this.totalLimit = totalLimit;
    }

    public Integer getTicketType() {
        return ticketType;
    }

    public void setTicketType(Integer ticketType) {
        this.ticketType = ticketType;
    }

    public String getNoticeContent() {
        return noticeContent;
    }

    public void setNoticeContent(String noticeContent) {
        this.noticeContent = noticeContent;
    }

    public String getRedeemCode() {
        return redeemCode;
    }

    public void setRedeemCode(String redeemCode) {
        this.redeemCode = redeemCode;
    }

    public String getJumpPage() {
        return jumpPage;
    }

    public void setJumpPage(String jumpPage) {
        this.jumpPage = jumpPage;
    }

    public boolean equals(Object o) {
        if (!(o instanceof SysConfigTicketRule))
            return false;
        SysConfigTicketRule rule = (SysConfigTicketRule) o;
        return this.getId() == rule.getId()
                && this.getNid().equals(rule.getNid())
                && this.getStatus() == rule.getStatus()
                && this.getSysUserId() == rule.getSysUserId();
    }



}